package com.hengpeng.msls.service.assign;

import java.util.List;

import com.hengpeng.itfinbase.persist.CreditAssign;
import com.hengpeng.msls.vo.assign.CreditAssignVo;

/**
 * <pre>
 * 债权转让服务类
 * </pre>
 * @author weiyuan
 * @version 1.0, 2015年7月26日
 */
public interface AssignService
{
	/**
	 * <pre>
	 * 当前用户可转让债权列表
	 * </pre>
	 * @param investUserId
	 * @return
	 */
	public List<CreditAssignVo> queryCanCreditAssignList(Long investUserId);
	/**
	 * <pre>
	 * 转让中的债权
	 * </pre>
	 * @param investUserId
	 * @return
	 */
	public List<CreditAssignVo> queryAssigningList(Long investUserId);
	/**
	 * <pre>
	 * 已转让的债权
	 * </pre>
	 * @param investUserId
	 * @return
	 */
	public List<CreditAssign> queryAssignedList(Long investUserId);
	/**
	 * <pre>
	 * 已购买的债权
	 * </pre>
	 * @param investUserId
	 * @return
	 */
	public List<CreditAssignVo> queryBuyedList (Long buyUserId);
	/**
	 * <pre>
	 * 获取当前投标的当前债权信息
	 * </pre>
	 * @param investInfoId
	 * @return
	 */
	public CreditAssign getCurrentAssignInfo (Long assignId);

	/**
	 * <pre>
	 * 获取债权产品
	 * </pre>
	 * @param status
	 * @param borrowUserId
	 * @return
	 */
	public List<CreditAssign> queryList(CreditAssign.AssignStatus[] status);

}
